﻿
namespace Eswat
{
	/// <summary>
	/// Contract for a test script runner.
	/// </summary>
	public interface ITestRunner<TTestRunnerResult>
	{
		/// <summary>
		/// Executes the test runner against the specified test context.
		/// </summary>
		/// <typeparam name="TTestContext">The type of the test context.</typeparam>
		/// <param name="testContext">The test context.</param>
		/// <returns>A test runner result.</returns>
		ITestRunnerResult<TTestRunnerResult, TTestContext> Execute<TTestContext>(ITestContext<TTestContext> testContext);
	}
}
